//空心三角形
//int main()
//{
//	int n = 0;
//	int i = 0;
//	while (scanf("%d", &n) != EOF)
//	{
//		for (int i = 1; i <= n; i++)
//		{
//			if (i < n && i>2)
//			{
//				for (int j = 1; j <= i; j++)
//				{
//					if (j > 1 && j < i)
//						printf(" ");
//					else
//						printf("*");
//				}
//			}
//			else
//			{
//				for (int j = 1; j <= i; j++)
//				{
//					printf("*");
//				}
//			}
//			printf("\n");
//		}
//	}
//
//	return 0;
//}

int main()
{
	int row = 0;
	while (scanf("%d", &row) != EOF)
	{
		for (int i = 0; i < row; i++) //外循环为行
		{
			for (int j = 0; j <= i; j++) //内循环为列
			{//满足条件输出 空格，即不在边界上就是 空格
				if (i - 1 && i - j && j != 0 && i != row - 1)
					printf("  ");
				else
					printf("* "); //边界上的点都是*
			}
			printf("\n"); //换行
		}
	}
	return 0;
}

//#include <stdio.h>
//int main()
//{
//	int n = 0;
//	while (scanf("%d", &n) != EOF)
//	{
//		for (int i = 0; i < n; i++)  //外循环为行
//		{
//			for (int j = 0; j < n; j++) //内循环为列
//			{//满足条件输出 * ，即在边界上就是 *
//				if (j == 0 || i == n - 1 || i == j)
//					printf("* ");
//				else
//					printf("  ");//不在边界上的点都是空格
//			}
//			printf("\n");
//		}
//	}
//}